import numpy as np

# 随机生成整数矩阵
A = np.random.randint(0,100,size=(3,3))
B = np.random.randint(0,100,size=(3,3))
# (1) 加法、减法、乘法和除法运算并输出运算结果；
print(f"（1）\nA为\n{A}")
print(f"B为\n{B}")
print(f"A+B为\n{A + B}")
print(f"A-B为\n{A - B}")
print(f"A*B为\n{A * B}")
print(f"A/B为\n{A / B}")
# (2) 比较运算，输出A大于等于B的比较结果；
print(f"（2）\nA大于等于B的比较结果：\n{A >= B}")
# (3) 输出A中大于等于B的值的索引（提示：where、zip）；
indicate = np.where(A >= B)
print("（3）")
for i in range(len(indicate[0])):
    print(f"第{i}个元素的索引值为({indicate[0][i]},{indicate[1][i]})")
# (4) 输出 A*B的转置矩阵；
print(f"（4）\nA*B的转置矩阵：\n{A * B.T}")
# (5) 输出A和B数值对应元素相除后的余数；
print(f"（5）\nA和B数值对应元素相除后的余数；\n{A % B}")
# (6) 输出 A第二行的元素；
print(f"（6）\nA第二行元素：\n{A[1]}")
# (7) 输出 A第三行第二列的元素；
print(f"（7）\nA第三行第二列：\n{A[2][1]}")
# (8) 删除 A的第一行，并输出；
A = np.delete(A, 0, axis=0)
print(f"（8）\n删除A的第一行后输出：\n{A}")
# (9) 删除 B的第一列，并输出；
B = np.delete(B, 0, axis=1)
print(f"（9）\n删除B的第一列后输出：\n{B}")
# (10) 通过 np.sum 函数输出对B的按列求和，以及B的按行求和。
print("（10）\nB按列求和:")
print(np.sum(B, axis=0))
print("B按行求和:")
print(np.sum(B, axis=1))
